The present subject matter deals with tools for testing automated computer systems that perform various functions. In particular, the disclosed systems and methods provide adaptable tools for automating the testing of multi-function systems, such as, for example, naming registration systems, and the like.
Automated systems having different configurations, which may be relied upon to process similar transactions, can be difficult to test using standardized tools. For example, various different entities may operate naming registration systems, and the like, that perform similar registration, notification, billing and other functions using different protocols, channels, etc. In such circumstances, testing the operation of the various functions can present challenges in the thoroughness and amount of time required for the tests, particularly across different systems.
A description of the ways in which the Internet is intrinsically organized can be helpful in understanding some of the challenges as they relate to testing an exemplary naming registration system, and the like.
The process of establishing a web site on the internet typically begins with a registrant registering a specific domain name through a registrar. The registrant is typically an individual or organization that identifies a domain name, such as “example.com”. The registrant contacts a registrar to process the name registration. The registrar sends the necessary domain name service (DNS) information to a registry. The registry receives DNS information from registrars, inserts that information into a centralized database and propagates the information on the internet so that domain names can be found by users around the world. The registry also provides information back to the registrar after this process is complete.
Thus, domain name registries and registrars work together to facilitate the registration of domain names. A domain registry typically maintains a master database of registered domain names and their linked unique internet protocol (“IP”) number or address. There are an ever growing number of generic top-level domains (“gTLD”) (e.g., .com, .edu, .biz, etc.) and country code top-level domains (“ccTLD”) (e.g., .us, .uk, and .tv), many of which must be registered with a second-level domain (e.g., .org.uk, .me.uk, and .co.uk). Different domain registries may have different order data requirements for registering a domain name, and may also use different protocols, channels, etc.
Internet domains can be divided to groups according to their TLD suffix (e.g. .com, .net, .co.uk . . . ) with different registries responsible for each of them. A single registry may be responsible for several of these groups, such as the VeriSign registry which is responsible for domains such as .com and .net.
After a domain is registered, end-user applications may be used to find specific resources on the Internet by using the DNS resolution process. The DNS distributes the responsibility of assigning domain names and mapping those names to IP addresses by designating authoritative name servers for each domain. Authoritative name servers are assigned to be responsible for their particular domain.
DNS registries typically perform other functions related to the individual registrations such as billing, renewal notifications and processing, international domain name (IDN) processing, etc.
As mentioned above, different registries may operate different support systems using different protocols, and the like, and may also implement upgrades and service features that are different from other registries. The complexities of the these differences, and the various functions performed by the individual registries, has led to considerable difficulty in attempts to thoroughly and efficiently test registries. Likewise, the ability to perform tests across different registries has been particularly problematic. It would therefore be desirable to provide tools that are adaptable and capable of efficiently testing multi-function systems, such as domain registries and the like.